iT邦幫忙

2023 iThome 鐵人賽

DAY 6
0

何謂變數?

  • 變數: 是一個可以儲存不同資料類型的地方,而且可以改變內容值。

    • 變數命名: 在C#中有非常多的關鍵字名稱可識別,例如類別名稱、屬性名稱、方法名稱、區域變數
      名稱等,所以當我們要幫一個變數命名時,不能與關鍵字相同,否則命名視為失敗。

    • 變數宣告方式: 資料類型 變數名稱 = 值; 例如:int number = 1;

    • 變數給值:= 運算子用於將特定的值賦予變數。= 運算子的左側是變數名稱,右側是要賦予給變數的值。

  • 常數變數: 可以拿來使用,但是無法改變它的值。例如:圓周率 Pi=3.14159

    • 常數宣告方式: const 資料類型 變數名稱 = 內容; 例如:const double Pi = 3.14159;
  • Var變數: 使用Var宣告的變數,可以自動判斷資料型別。適合用在型態不明顯或型別名稱過長。

好用の暫存變數

先前有提到過變數可以儲存資料,但是如果再次輸入值的話,將會把原本的值覆蓋掉,所以這時候,就要派出暫存變數來保留原本的值,以利後續使用。

舉例:有兩個變數x、y,需要把它們的數值交換,也就是說,如果x是5,y是10;數值交換後x就是10,y就是5

int x = 5;
int y = 10;

int temp; // 建立一個暫存變數

Console.WriteLine("Before:x = " + x + ", y = " + y);

temp = x; // 將 x 的值存入暫存變數
x = y; // 將 y 的值賦予, x 就完成交換
y = temp; // 將暫存變數的值賦予, y 就完成交換

Console.WriteLine("After:x = " + x + ", y = " + y);
(小小提醒:輸入完成之後要記得點選”啟動不偵錯”喔。)

https://ithelp.ithome.com.tw/upload/images/20230916/20162273QPBb74rYgW.jpg

💡 小小科普一下
1.【開始】選項適用於開發過程中,讓開發者能夠即時追蹤和修復錯誤,並深入了解程式的運行情況。
2.【啟動不偵錯】選項則適合於已經完成並測試過程式,想要直接運行它的最終版本,而不需進行逐步偵錯。

※總結來說,使用【啟動不偵錯】會更加快速啟動喔!!!

執行の結果


https://ithelp.ithome.com.tw/upload/images/20230916/20162273i7TI9RnEiS.jpg

除了可以用暫存變數來交換以外,還有其他方式喔!!!

1. 算術運算:使用算術運算來進行變數值交換,通常使用加法和減法。


int x = 5;
int y = 10;

Console.WriteLine("Before:x = " + x + ", y = " + y);

x = x + y; // x 現在包含 x + y 的值
y = x - y; // y 現在包含原始的 x 值
x = x - y; // x 現在包含原始的 y 值

Console.WriteLine("After:x = " + x + ", y = " + y)
(小小提醒:輸入完成之後要記得點選”啟動不偵錯”喔。)

https://ithelp.ithome.com.tw/upload/images/20230916/20162273SRa4Gmtjlr.jpg

執行の結果


https://ithelp.ithome.com.tw/upload/images/20230916/201622736MQ9voS96L.jpg

2. 位元運算:使用位元運算(XOR)進行變數值交換。


int x = 5;
int y = 10;

Console.WriteLine("Before:x = " + x + ", y = " + y);

x = x ^ y; // 將 x 設為 x XOR y
y = x ^ y; // 將 y 設為 x XOR y,此時 y 就是原始的 x 值
x = x ^ y; // 將 x 設為 x XOR y,此時 x 就是原始的 y 值

Console.WriteLine("After:x = " + x + ", y = " + y);
(小小提醒:輸入完成之後要記得點選”啟動不偵錯”喔。)

https://ithelp.ithome.com.tw/upload/images/20230916/20162273BoZZ1cYILg.jpg

執行の結果


https://ithelp.ithome.com.tw/upload/images/20230916/20162273jH6YCGvjBq.jpg

3. C# 7.0 tuple:在 C# 7.0 之後,可以使用元組來實現變數值交換。


int x = 5;
int y = 10;

Console.WriteLine("Before:x = " + x + ", y = " + y);

// 使用元組語法進行變數交換
// 將 (y, x) 元組的值分別指派給變數 (x, y),實現交換
var tuple = (x, y) = (y, x);

Console.WriteLine("After:x = " + x + ", y = " + y);
(小小提醒:輸入完成之後要記得點選”啟動不偵錯”喔。)
(小小發現:var tuple = (x, y) = (y, x); 這一行程式碼也可以只寫 (x, y) = (y, x); 就好喔!!!)

https://ithelp.ithome.com.tw/upload/images/20230916/201622730iOMeUiajs.jpg

執行の結果


https://ithelp.ithome.com.tw/upload/images/20230916/20162273hh5OTQWLxG.jpg

※以上資料如有錯誤請多指教

參考資料

書名:程式設計基本功與實務範例解析:使用C#(第三版)(附範例光碟)

程式語言教學誌 FB, YouTube: PYDOING: C# 入門指南 - 變數命名規則

[C#] 明確型別宣告 (Explicit Type Declaration) 與隱含型別宣告 (Implicit Type Declaration)

基礎 .NET - C# 7.0:關於 Tuple


上一篇
Day5 - 資料類型(Data Types)介紹
下一篇
Day7 - 運算式
系列文
連續30天學習C#和ASP.NET30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言